﻿using System;
using Net.Chirash.Twitter.TwitterDatabase;

namespace Net.Chirash.Twitter.TwitterClient
{
    public interface ITwitterCommand
    {
        User CurrentUser { get; }

        Timeline DestroyStatus(long statusID);
        Timeline Favorites(User user);
        Timeline Favorites(User user, int page);
        Timeline Favorites(long userID);
        UserList Followers(UserListOption option);
        UserList Friends(UserListOption option);
        DirectMessageCollection GetDirectMessages(DirectMessageOption option);
        Timeline GetFriendsTimeline(TimelineOption option);
        Timeline GetHomeTimeline(TimelineOption option);
        Timeline GetMentionsTimeline(TimelineOption option);
        Timeline GetPublicTimeline();
        Timeline GetRepliesTimeline(TimelineOption option);
        Timeline GetRetweetedByMeTimeline(TimelineOption option);
        Timeline GetRetweetedOfMeTimeline(TimelineOption option);
        Timeline GetRetweetedToMeTimeline(TimelineOption option);
        DirectMessageCollection GetSentDirectMessages(DirectMessageOption option);
        Timeline GetUserTimeline(TimelineOption option);
        UserList SearchUser(string keyword);
        Status ShowStatus(long statusID);
        User ShowUser(long userID);
        User ShowUser(string screenName);
    }
}
